<body>
<p>StarterProvider_PrivateStream is a simple provider example to demonstrate how to publish items on Private Streams using 
 the Reuters Domain Model data and the Open Message Model.  This application is server application.  One thread dispatches 
 client session connection request, Private Stream item requests, and timer events.  Updates are sent when the timer event
 is received.  Only the a consumer application that requests items over a Private Stream will successfully get data from this 
 application
 
 Currently, the StarterProvider_PrivateStream application provides Logins, Service Directories, and Dictionaries.
 MarketPrice items are provided on Private Streams and Standard/Public Streams.
 It can be easily extended to provide other message model types.
</p>
<p>This provider application also demonstrates how to handle a switch from a Standard/Public request 
 to a Private Stream.  This is where the provider application does not accept the stream as Standard/Public 
 and suggests the stream to be Private, while it was requested as Standard/Public.  In our example, 
 we use RES-DS.N (Restricted Data Set) market price item requests to show this feature.  
 The Closed Redirect status with Private Stream flag set mechanism will be utilized for this.   
 This Redirect message will flow to the client application.  The consumer client will then need to 
 re-request the same item but as a Private Stream.
</p>


<b>StarterProvider_PrivateStream provides examples of how to:</b>
<ul>
  <li>Create a Session and an EventQueue 
  <li>Create an OMMProvider event source 
  <li>Listen to client connections 
  <li>Properly respond to a Private Stream request or a Standard/Public Stream request 
  <li>Dispatch events from an EventQueue 
  <li>Cleanup a Session 
</ul>

<p><b>The StarterProvider_PrivateStream application currently supports the following command line parameters.</b></p>
<ul>
  <li><b>debug</b> - enable detailed logging for RFA (default is &quot;false&quot;)</li>
 <li><b>provSession</b> - name of Provider session. (default is &quot;myNamespace::provSession&quot;)</li>
 <li><b>serviceName</b> - Service name for the SrcDirectory response. (default is &quot;DIRECT_FEED&quot;)</li>
 <li><b>listenerName</b> - Unique name that specifies a connection to listen. (default is &quot;""(null)&quot;) 
 <li><b>updateInterval</b> - Update interval in seconds. (default is &quot;1&quot;)</li>
 <li><b>updateRate</b> - Update rate per interval. (default is &quot;2&quot;)</li>
 <li><b>rdmFieldDictionary</b> - RDM Field dictionary name and location.&nbsp
  (default is &quot;/var/triarch/RDMFieldDictionary&quot;)</li>
 <li><b>enumType</b> - Enum dictionary name and location.&nbsp
  (default is &quot;/var/triarch/enumtype.def&quot;)</li>
 <li><b>runTime</b> - How long (in seconds) application should run before exiting (default is &quot;600&quot;)</li>
</ul>

<p><b>The example can be run as an application with the following commands:</b></p>
<p>java com.reuters.rfa.example.omm.privatestream.psprov.StarterProvider_PrivateStream -serviceName DIRECT_FEED</p>
 
</body>

